Conversation
|
🍅 Не пройден линтинг или базовые тесты |
|
🍅 Не пройден линтинг или базовые тесты |
|
🍅 Пройдено тестов 14 из 16 |
|
🍅 Не пройден линтинг или базовые тесты |
|
🍅 Пройдено тестов 14 из 16 |
|
🍅 Не пройден линтинг или базовые тесты |
|
🍅 Пройдено тестов 14 из 16 |
|
🍅 Не пройден линтинг или базовые тесты |
|
🍅 Не пройден линтинг или базовые тесты |
|
🍅 Пройдено тестов 14 из 16 |
|
🍅 Пройдено тестов 14 из 16 |
|
🍅 Не пройден линтинг или базовые тесты |
|
🍏 Пройдено тестов 16 из 16 |
robbery.js
Outdated
robbery.js
Outdated
There was a problem hiding this comment.
плохо так привязываться к каждому грабителю(
Это сейчас их 3, а если 50? 100? и тд
robbery.js
Outdated
robbery.js
Outdated
There was a problem hiding this comment.
опять-таки плохо привязываться так к именам грабителей
robbery.js
Outdated
There was a problem hiding this comment.
плохо то, что код трудночитаем( Приходится прям вспоминать а как же регексп разобьет строку и что такое dateArray[4], dateArray[3] и тд
robbery.js
Outdated
There was a problem hiding this comment.
"волшебные" 3 и 1? Вынеси в константу) У тебя потом может стать больше, чем три дня на ограбление, и тебе везде это надо будет править. А если будет константа, то только ее
robbery.js
Outdated
robbery.js
Outdated
There was a problem hiding this comment.
а почему не воспользоваться ИЛИ, а писать 4 if?
robbery.js
Outdated
|
привет! |
|
🍅 |
|
🍏 Пройдено тестов 16 из 16 |
|
🍏 Пройдено тестов 16 из 16 |
|
🍅 Не пройден линтинг или базовые тесты |
|
🍅 Пройдено тестов 10 из 16 |
|
🍅 Не пройден линтинг или базовые тесты |
|
🍅 Пройдено тестов 10 из 16 |
|
🍅 Пройдено тестов 10 из 16 |
|
🍅 Не пройден линтинг или базовые тесты |
|
🍅 Не пройден линтинг или базовые тесты |
|
🍅 Пройдено тестов 10 из 16 |
|
🍅 Не пройден линтинг или базовые тесты |
|
🍅 Пройдено тестов 10 из 16 |
|
🍅 Не пройден линтинг или базовые тесты |
|
🍏 Пройдено тестов 16 из 16 |
| var MINUTES_IN_DAY = 24 * MINUTES_IN_HOUR; | ||
| var DAYS_FOR_ROBBERY = 3; | ||
| var MAX_MINUTES = DAYS_FOR_ROBBERY * MINUTES_IN_DAY - 1; // макс. 3 дня на ограбление и -1 минута | ||
| var DATE_PATTERN = /(([БВНПРСТЧ]{2})\s)?(\d{2}):(\d{2})([+-]\d{1,2})/i; |
| exports.isStar = true; | ||
| exports.isStar = false; | ||
|
|
||
| var BANK_TIMEZONE = 0; // временная зона банка |
There was a problem hiding this comment.
переменные нао определять максимально близко к тому месту, где они потом используются
| // и времени работы банка | ||
| robberyIntervals.Gang = getRobberyIntervals(robberyIntervals, bankSchedule); | ||
| // Из готовых диапазонов получаем время, когда можно ограбить банк | ||
| // с учётом продолжительности ограбления (если вообще можно) |
|
|
||
| function getBankSchedule(workingHours) { | ||
| var schedule = []; | ||
| for (var day = 0; day < 3; day++) { |
| // Например, СР 15:00+3 -> 3900 (2880 прошло с ПН по СР 00:00 и 17 часов = 1020) | ||
| function dateToMinutes(date) { | ||
| var timeZoneOffset = BANK_TIMEZONE - Number(DATE_PATTERN.exec(date)[5]); | ||
| var day = DATE_PATTERN.exec(date)[2]; |
There was a problem hiding this comment.
вынеси DATE_PATTERN.exec(date) в переменную, незачем делать это каждый раз
| var busyIntervals = getBusyIntervals(schedule); | ||
| var from = 0; | ||
| for (var i = 0; i < busyIntervals.length; i++) { | ||
| // Если грабитель занят с в ПН 00:00, то интервала с ПН 00:00 до ПН 00:00 нет |
There was a problem hiding this comment.
вообще непонятный комментарий. Он совсем запутывает. И на самом деле вот это сомнительное место
getFreeIntervals и getBusyIntervals. Подумай как оптимизировать это?
|
🍅 |
No description provided.